A service provider network typically comprises a number of different types of computer networks interconnected to one another. One type of network referred to as an access network enables subscriber devices, which may also be referred to as customer premises equipment (CPE), to access the service provider network. Subscriber devices or CPE may comprise set-top boxes (STBs), laptop computers, desktop computers, mobile devices (such as mobile cellular phones and so-called “smart phones”), Voice over Internet Protocol (VoIP) telephones, workstations, modems, wireless access points (WAPs), and other devices capable of accessing or otherwise facilitating access to the service provider network.
The access network typically comprises a number of access nodes, such as a Digital Line Subscriber Line Access Multiplexers (DSLAMs) or a Cable Modem Termination System (CMTS), that each manages access by one or more of the subscriber devices to the service provider network. The access node may, for example, multiplex traffic from subscriber devices into a composite signal and transmit this signal upstream to the subscriber network for delivery to one or more destinations. The access nodes may also manage multicast communications or streams to more efficiently utilize bandwidth of the access network between the access nodes and the subscriber devices.
For example, an access node may implement a multicast management protocol, such as an Internet Group Management Protocol (IGMP). IGMP provides a way to track subscriber device memberships in multicast groups. The subscriber devices may issue an IGMP join request to indicate to the access node that it has joined a multicast group. The access node may maintain a multicast group membership table that includes an entry for each multicast group currently subscribed to by at least one subscriber device. In response to the IGMP join request, the access node may update an entry in this table associated with the indicated multicast group to reflect the new membership by the subscriber device.
Likewise, the subscriber device may issue an IGMP leave request, indicating that the subscriber device has left a multicast group. The access node, in response to this leave request, may update the group membership table to reflect that the subscriber devices left the indicated group. Based on this table, the access node may determine whether one or more groups stored in the table is currently being subscribed to by more than one subscriber device. If no subscriber devices are subscribing to a particular multicast group, the access node may stop streaming or otherwise delivering the multicast content from this group to the subscriber devices, thereby more efficiently utilizing the bandwidth in the access network.
ISPs may use IGMP as a mechanism for providing Internet Protocol Television (IPTV) services to subscribers. Consumer premises equipment (CPE), such as set-top-boxes (STBs) may request a particular channel from an access node. Both the STB and the access node may be configured to use IGMP to provide the IPTV services. The STB may construct and send an IGMP join request to the access node. The IGMP join request contains a request to subscribe to a particular multicast group. The multicast group may be associated with a particular IPTV channel, for example, that a subscriber wishes to watch.
If the access node is already subscribed to the requested channel multicast group, the access node adds the CPE to a multicast group table associated with the channel. The access node then fulfills the request for the channel by transmitting multicast content associated with the multicast group to the CPE. If the access node is not already subscribed to the requested channel, the access node propagates the request for the channel to a multicast router, which in turn, propagates the request to a multicast server. The multicast server adds the access node to a multicast group table of the multicast server associated with the channel. The multicast server fulfills the channel request by transmitting the multicast content associated with the multicast group to the access node. The access node then adds the CPE to the multicast group table of the access node, and transmits the multicast channel content to the CPE.